﻿using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Text;
using SRP_LibBusinessEntity;
using System.Data;

namespace SRP_LibDataAccess
{
    public class CUsuario
    {
        public EUsuario ObtenerUsuario(string us, string pw)
        {
            DataSet ds = new DataSet();
            WSCentria.wsUtilitario ws = new WSCentria.wsUtilitario();
            ws.Url = System.Configuration.ConfigurationManager.AppSettings["rutaWSCentria"].ToString();
            ds = ws.ObtenerUsuario(us,pw);

            return MakeUsuario(ds.Tables[0]);


            //System.Data.DataTable dt = new System.Data.DataTable();
            //int itipoconexion = 0;
            //SqlCommand cmd = new SqlCommand();
            //dt = CMetodoADO.FillDataTable("usp_pro_ValidarUsuario", cmd, itipoconexion);
            //return MakeUsuario(dt);
        }

        public EUsuario EnviarContraseña(string us) 
        {
            DataSet ds = new DataSet();
            WSCentria.wsUtilitario ws = new WSCentria.wsUtilitario();
            ws.Url = System.Configuration.ConfigurationManager.AppSettings["rutaWSCentria"].ToString();
            ds = ws.EnviarContrasenia(us);

            return MakeUsuario(ds.Tables[0]);
        }

        private EUsuario MakeUsuario(System.Data.DataTable dt)
        {
            EUsuario usuario = new EUsuario();
            if (dt.Rows.Count > 0)
            {
                usuario.VUSU_USER_NAME = dt.Rows[0].ItemArray[dt.Columns.IndexOf("VUSU_USER_NAME")].ToString();
                usuario.VUSU_NOMBRES = dt.Rows[0].ItemArray[dt.Columns.IndexOf("VUSU_NOMBRES")].ToString();
                usuario.VUSU_APELLIDOS = dt.Rows[0].ItemArray[dt.Columns.IndexOf("VUSU_APELLIDOS")].ToString();
                usuario.VUSU_USER_CLAVE = dt.Rows[0].ItemArray[dt.Columns.IndexOf("VUSU_USER_CLAVE")].ToString();
                usuario.PK_IPER_IDPERFIL = int.Parse(dt.Rows[0].ItemArray[dt.Columns.IndexOf("PK_IPER_IDPERFIL")].ToString());
                usuario.VUSU_EMAIL = dt.Rows[0].ItemArray[dt.Columns.IndexOf("VUSU_EMAIL")].ToString();
                usuario.VCEN_COD_EMPRESA_CENTRIA = dt.Rows[0].ItemArray[dt.Columns.IndexOf("VCEN_COD_EMPRESA_CENTRIA")].ToString();
                usuario.VCEN_DESC_EMPRESA_CENTRIA = dt.Rows[0].ItemArray[dt.Columns.IndexOf("VCEN_DESC_EMPRESA_CENTRIA")].ToString();
            }
            else 
            {
                usuario = null;
            }
            return usuario;
        }

        public DataTable ListarUsuario(string descripcion)
        {
            WSParametria.wsParametria ws = new WSParametria.wsParametria();
            ws.Url = System.Configuration.ConfigurationManager.AppSettings["rutaWSParametria"].ToString();
            DataSet ds = ws.ListarUsuario(descripcion);
            return ds.Tables[0];
        }

        public int InsertUsuario(string USER_NAME, string NOMBRES, string APELLIDOS, string EMAIL, string COD_EMPRESA_CENTRIA, int IPER_IDPERFIL, int USER_ACTIVO, string USER_CLAVE)
        {
            DataSet ds = new DataSet();
            WSParametria.wsParametria ws = new WSParametria.wsParametria();
            ws.Url = System.Configuration.ConfigurationManager.AppSettings["rutaWSParametria"].ToString();
            return ws.InsertUsuario(USER_NAME, NOMBRES, APELLIDOS, EMAIL, COD_EMPRESA_CENTRIA, IPER_IDPERFIL, USER_ACTIVO, USER_CLAVE);

        }

        public int UpdateUsuario(int ID_USUARIO, string USER_NAME, string NOMBRES, string APELLIDOS, string EMAIL, string COD_EMPRESA_CENTRIA, int IPER_IDPERFIL, int USER_ACTIVO, string USER_CLAVE)
        {
            DataSet ds = new DataSet();
            WSParametria.wsParametria ws = new WSParametria.wsParametria();
            ws.Url = System.Configuration.ConfigurationManager.AppSettings["rutaWSParametria"].ToString();
            return ws.UpdateUsuario(ID_USUARIO, USER_NAME, NOMBRES, APELLIDOS, EMAIL, COD_EMPRESA_CENTRIA, IPER_IDPERFIL, USER_ACTIVO, USER_CLAVE);
    
        }      
    }
}
